#include "readwritexml.h"
#include <QtXml>
ReadWriteXml::ReadWriteXml(QObject *parent) : QObject(parent)
{

}
int ReadWriteXml::WriteRegisterInfo(ReadWriteXml::WriteInfo inRegisterInfo,QString fileFullPath)
{

    int resultCode = 0;
    QFile file(fileFullPath); //相对路径、绝对路径、资源路径都可以
    if(!file.open(QFile::WriteOnly|QFile::Truncate)) //可以用QIODevice，Truncate表示清空原来的内容
        return -1;
    QDomDocument doc;
    //写入xml头部
    QDomProcessingInstruction instruction; //添加处理命令
    instruction=doc.createProcessingInstruction("xml","version=\"1.0\" encoding=\"UTF-8\"");
    doc.appendChild(instruction);
    //添加根节点
    QDomElement root=doc.createElement("configinfo");
    doc.appendChild(root);
    //添加第一个子节点及其子元素
    QDomElement book=doc.createElement("license");

    QDomElement itemModualName=doc.createElement("modualName"); //创建子元素
    QDomElement itemSerialCode=doc.createElement("serialCode"); //创建子元素
    QDomElement itemEncryType=doc.createElement("encryType"); //创建子元素
    QDomElement itemLicenseCode=doc.createElement("licenseCode"); //创建子元素
    QDomElement itemExpiredDate=doc.createElement("expiredDate"); //创建子元素

    QDomText textItem; //设置括号标签中间的值
    textItem=doc.createTextNode(inRegisterInfo.modeName);
    itemModualName.appendChild(textItem);

    textItem=doc.createTextNode(inRegisterInfo.serialNumber);
    itemSerialCode.appendChild(textItem);

    textItem=doc.createTextNode(inRegisterInfo.encryptType);
    itemEncryType.appendChild(textItem);

    textItem=doc.createTextNode(inRegisterInfo.licenseCode);
    itemLicenseCode.appendChild(textItem);

    textItem=doc.createTextNode(inRegisterInfo.endDate);
    itemExpiredDate.appendChild(textItem);

    book.appendChild(itemModualName);
    book.appendChild(itemSerialCode);
    book.appendChild(itemEncryType);
    book.appendChild(itemLicenseCode);
    book.appendChild(itemExpiredDate);
    root.appendChild(book);
    //输出到文件
    QTextStream out_stream(&file);
    doc.save(out_stream,4); //缩进4格
    file.close();

    resultCode=1;

    return resultCode;

}
